﻿using System.Diagnostics;

namespace Assimp.NewTestConsole {

    public class Assert {
        public static void IsTrue(bool condition) {
            Debug.Assert(condition);
        }

        public static void IsTrue(bool condition, string log) {
            Debug.Assert(condition, log);
        }

        public static void IsFalse(bool condition, string log) {
            Debug.Assert(!condition, log);
        }

        public static void Multiple(Action action) {
            action();
        }

        public static void That<T>(T left, T right) {
            if (left != null) {
                Debug.Assert(left.Equals(right));
            }
            else {
                Debug.Assert(right == null);
            }
        }

        internal static void That<T>(T v1, T v2, string v3) {
            throw new NotImplementedException();
        }

        internal static void Throws<T>(Action value) {
            throw new NotImplementedException();
        }

        internal static void That(int attachedLogStreamCount, object zero) {
            throw new NotImplementedException();
        }
    }
}
